package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariotelefone;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariotelefone.FuncionarioTelefoneEndPoint;
import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioTelefone;
import br.gov.mi.corporativo.dominio.repositorio.rhmi.FuncionarioTelefoneRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariotelefone.FuncionarioTelefoneEndPoint")
public class FuncionarioTelefoneServico extends CrudServicoImpl<FuncionarioTelefone, Long, FuncionarioTelefoneRepositorio>  implements FuncionarioTelefoneEndPoint{
	
	@Inject
    public void setRepository(FuncionarioTelefoneRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public FuncionarioTelefone recuperarPorIdFuncionarioTelefone(Long idFuncionarioTelefone) {
		return repositorio.findByIdFuncionarioTelefone(idFuncionarioTelefone);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorIdTipoTelefone(Long idIdTipoTelefone) {
		return repositorio.findByIdTipoTelefone(idIdTipoTelefone);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorFuncionario(Long funcionario) {
		return repositorio.findByFuncionario(funcionario);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorNrTelefone(String nrTelefone) {
		return repositorio.findByNrTelefone(nrTelefone);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorNrRamal(String nrRamal) {
		return repositorio.findByNrRamal(nrRamal);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorNrDdd(String nrDdd) {
		return repositorio.findByNrDdd(nrDdd);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorNrDdi(String nrDdi) {
		return repositorio.findByNrDdi(nrDdi);
	}

	@Override
	public List<FuncionarioTelefone> recuperarPorStRegistro(String stRegistro) {
		return repositorio.findByStRegistro(stRegistro);
	}
}
